// Курсова робота.cpp : Defines the entry point for the console application.
//
//	Оголошення бібліотек програми
#include "iostream.h"
#include "windows.h"
#include "string.h"

char*Rus(const char* text);// функція русифікатор
//Оголошення структури
struct likarnya
{//Оголошення змінних структури
 char prizv[20];
 char imya[20];
 char batk[20];
 int nomer;
 int chislo;
 char mis[20];
 int rik;
 char diagnoz[20];
};//Оголошення  прототипів функцій
void vyv (likarnya base[5]);
void vvod (likarnya base[5]);
void vyvod1 (likarnya base[5]);
void vyvod2 (likarnya base[5]);

void main()
{
//Оголошення ініціалізованого масиву
likarnya base[5]={             
{"Romanchuk","Roman","Leonidovych",1346,5,"lyutyy",2010,"GRZ"},
{"Martynenko","Artem","Anatoliyovych",2167,2,"veresen",2011,"Bronhit"},
{"Ohrimenko","Denys","Sergiyovych",2345,4,"kviten",2011,"Gastrit"},
{"Hablenko","Mykola","Oleksandrovych",1564,17,"serpen",2011,"Astma"},
{"Lazebnyy","Sergiy","Sergiyovych",2556,22,"gruden",2012,"Psoriaz"}
};
//Оголошення інформації про розробника куросвого проекту
cout<<"\n\n";
cout<<"************************************************************************"<<"\n";
cout<<"************************************************************************"<<"\n";
cout<<"**@@@@@@@@@@@@@@**  "<<Rus("Курсовa  робота")<<"                   **@@@@@@@@@@@@@@**"<<"\n";
cout<<"****************@@                                    @@****************"<<"\n";
cout<<"**@@@@@@@@@@@@@@**  "<<Rus("на тему: Обробка масиву структур")<<"  **@@@@@@@@@@@@@@**"<<"\n";
cout<<"****************@@                                    @@****************"<<"\n";
cout<<"**@@@@@@@@@@@@@@**  "<<Rus("студента групи К 4-1")<<"              **@@@@@@@@@@@@@@**"<<"\n";
cout<<"****************@@                                    @@****************"<<"\n";
cout<<"**@@@@@@@@@@@@@@**  "<<Rus("Романчука Романа")<<"                  **@@@@@@@@@@@@@@**"<<"\n";
 
cout<<"************************************************************************"<<"\n";           
cout<<"************************************************************************"<<"\n\n";

char vidp;
do 
{
int i;
int flag=0;
int menu;
//Оглошення елементів меню

cout<<"      ################################################################";                    
cout<<"\n"<<"      ####            "<<Rus(" ВВЕДIТЬ ПОТРIБНИЙ ПУНКТ                    ####\n");              
cout<<"      "<<Rus("#### 1. Iнiцiалiзованi данi про пацiентiв                   ####\n");
cout<<"      "<<Rus("#### 2. Ввести данi про пацiентiв з клавiатури              ####\n");
cout<<"      "<<Rus("#### 3. Вивести данi про пацiентiв                          ####\n");
cout<<"      "<<Rus("#### 4. Вивести данi про пацiентiв по датi вiдвiдування     ####\n"); 
cout<<"      "<<Rus("#### 5. Вивести данi про пацiентiв по дiагнозу              ####\n");
cout<<"      ################################################################"<<"\n";
cout<<"______________________________________________________________________"<<"\n\n";

cin>>menu;
//Меню
 switch(menu)
{
 case 1:cout<<Rus("Iнiцiалiзацiя проведена успiшно");break;
 case 2:vvod(base);break;
 case 3:cout<<Rus("Iнiцiалiзованi данi \n")<<"\n";  
	 cout<<Rus("Прiзвище        Iм'я    По батьковi     №картки день    мiсяць  рiк     дiгноз")<<"\n\n";
	 for(i=0;i<5;i++)
cout<<base[i].prizv<<"\t"<<base[i].imya<<"\t"<<base[i].batk<<"\t"<<base[i].nomer<<"\t"<<base[i].chislo<<"\t"<<base[i].mis<<"\t"<<base[i].rik<<"\t"<<base[i].diagnoz<<"\n";
;break;
 case 4:vyvod1(base);break;
 case 5:vyvod2(base);break;

default: cout<<Rus("Ви ввели не iснуючий пункт меню\n");
}
 
cout<<"\n\n"<<Rus("Продовжити роботу(y/n)\n");
			cin>>vidp;
}
while (vidp=='y');
}
//Функція русифікатор
char bufRus[256];
char* Rus (const char* text)
{
CharToOem(text, bufRus);
return bufRus;
}


//Функція користувача для вводу даних з клавіатури
void vvod(likarnya base[5])
{
int i;
int y=1;

for (i=0; i<5; i++)
{
cout<<"\n"<<"  "<<Rus("ВIДОМОСТI ПРО ПАЦIЕНТА №")<<" "<<y<<"\n\n";
y=y+1;
cout<<"  "<<Rus("Задайте прiзвище пацiентa")<<"                   "; 
cin>>base[i].prizv;
cout<<"  "<<Rus("Задайте iм'я пацiентa")<<"                       ";
cin>>base[i].imya;
cout<<"  "<<Rus("Задайте як по-батьковi пацiентa")<<"             ";
cin>>base[i].batk;
cout<<"  "<<Rus("Задайте номер реeстрацiйной картки")<<"          ";
cin>>base[i].nomer;
cout<<"  "<<Rus("Задайте число вiдвiдування лiкаря")<<"           ";
cin>>base[i].chislo;
cout<<"  "<<Rus("Задайте мiсяця вiдвiдування лiкаря")<<"          ";
cin>>base[i].mis;
cout<<"  "<<Rus("Задайте рiк вiдвiдування лiкаря")<<"             ";
cin>>base[i].rik;
cout<<"  "<<Rus("Задайте дiагнoз")<<"                             ";
cin>>base[i].diagnoz;
}


}

//Функція користувача для виводу даних по даті відвідування лікаря
void vyvod1(likarnya base[5])
{
int i;
int flag1=0;
cout<<"\n"<<Rus("ДАТА ПО ЯКIЙ ПОТРIБНО ВИКОНАТИ ПОШУК")<<"\n";
int pacient1;
cout<<"\n"<<"  "<<Rus("Задайте число прийому у лiкаря")<<"              ";
cin>>pacient1;
char pacient2[20];
cout<<"\n"<<"  "<<Rus("Задайте мiсяць прийому у лiкаря")<<"             ";
cin>>pacient2;
int pacient3;
cout<<"\n"<<"  "<<Rus("Задайте рiк прийому у лiкаря")<<"                ";
cin>>pacient3;

for (i=0; i<5; i++) 
if(((base[i].chislo==pacient1)&&(base[i].rik==pacient3))&&(strcmp(base[i].mis,pacient2)==0))
{
cout<<"\n"<<Rus("Пацiент\n\n");
cout<<Rus("Прiзвище")<<"                                           "<<base[i].prizv<<"\n";
cout<<Rus("Iм'я")<<"                                               "<<base[i].imya<<"\n";
cout<<Rus("По-батьковi")<<"                                        "<<base[i].batk<<"\n";
cout<<Rus("Номер реестрацiйной картки")<<"                         "<<base[i].nomer<<"\n";
cout<<Rus("Число вiдвiдування лiкаря")<<"                          "<<base[i].chislo<<"\n";
cout<<Rus("Мiсяць вiдвiдуваня лiкаря")<<"                          "<<base[i].mis<<"\n";
cout<<Rus("Рiк вiдвiдування лiкаря")<<"                            "<<base[i].rik<<"\n";
cout<<Rus("Дiагноз")<<"                                            "<<base[i].diagnoz<<"\n";
flag1=flag1++;
}
if (flag1==0)
cout<<"\n"<<Rus("Такого пацiента нема");
}
//Функція користувача для виводу даних по діагнозу
void vyvod2 (likarnya base[5])
{
int i;
int flag2=0;
char diagnoz2[20];
cout<<"\n"<<Rus("ДIАГНОЗ ПО ЯКОМУ ПОТРIБНО ВИКОНАТИ ПОШУК")<<"\n";
cin>>diagnoz2;

for (i=0; i<5; i++) 
if (strcmp(base[i].diagnoz,diagnoz2)==0)
{
cout<<Rus("Пацiент\n\n");
cout<<Rus("Прiзвище")<<"                                           "<<base[i].prizv<<"\n";
cout<<Rus("Iм'я")<<"                                               "<<base[i].imya<<"\n";
cout<<Rus("По-батьковi")<<"                                        "<<base[i].batk<<"\n";
cout<<Rus("Номер реестрацiйной картки")<<"                         "<<base[i].nomer<<"\n";
cout<<Rus("Число вiдвiдування лiкаря")<<"                          "<<base[i].chislo<<"\n";
cout<<Rus("Miсяць вiдвiдуваня лiкаря")<<"                          "<<base[i].mis<<"\n";
cout<<Rus("Рiк вiдвiдування лiкаря")<<"                            "<<base[i].rik<<"\n";
cout<<Rus("Дiагноз")<<"                                            "<<base[i].diagnoz<<"\n";
flag2=flag2++;
}
if (flag2==0)
cout<<"\n"<<Rus("Такого пацiента немаe");
}

void vyv (likarnya base[5])
{
for (int i=0;i<5;i++)
cout<<base[i].imya;
}